package com.cw.starter.center.enums;

import java.io.Serializable;
import java.util.Arrays;

import lombok.Getter;

/**
 * 错误码
 *
 * @author chenw
 * @date 2021/12/16
 */
@Getter
public enum EnumErrorCode implements Serializable {
    /** 系统异常 */
    SYS_EXCEPTION(900000, "系统异常"),
    /** 参数校验异常 */
    PARAM_VALID_EXCEPTION(900001, "参数校验异常"),
    /** 参数校验异常 */
    BIZ_EXCEPTION(900002, "业务异常"),
    /** 数据库操作异常 */
    DB_EXCEPTION(900003, "数据库操作异常");

    /** 编码 */
    private Integer code;
    /** 描述 */
    private String description;

    EnumErrorCode(Integer code, String description) {
        this.code = code;
        this.description = description;
    }

    public static EnumErrorCode find(String code) {
        return Arrays.stream(EnumErrorCode.values())
            .filter(input -> input.getCode()
                .equals(code))
            .findFirst()
            .orElse(null);
    }
}
